Release 10.1A: OpenEdge Development:
Progress Dynamics Basic Development
SBO files and properties
The SBO is a nonvisual Progress SmartContainer™ object, with a
Note: They differ primarily in details of the wizard pages.ContainerTypeproperty ofVIRTUAL. A static SBO is based on a template file namedry\obj\rysttasboo.w, a variation of the standard SBO templatesrc\adm2\template\sbo.w, and it has its own New item in the AppBuilder New menu list and its own button in the AppBuilder.It has defined
ADM-SUPPORTED-LINKSofCommit-Target,Data-Source,Data-Target,Update-Target, andNavigation-Target. ItsProcedure-Type(which becomes theObjectTypeADM property) is SmartBusinessObject.The SBO has these properties also found in the SDO:
AppService—(CHARACTER)Application Service (Partition) name. If this property is blank, then the property will be written to the Repository with the default value. The default value for AppService value is the same as for all data objects: "ASTRA". If you need a blank value here, edit the Repository with the ROM tool.ASDivision—(CHARACTER) Client,Server, or blank.ASHandle—(HANDLE)Handle of the SBO procedure running on the AppServer.AutoCommit—(LOGICAL) TRUEif each save should be immediately committed (which is the default if there is noCommit-Source) orFALSEif changes should be accumulated in theUpdatetemp-tables until an explicit commit is done (which is the default if there is aCommit-Source). If the SBO has multiple SDOs, unsaved changes in all SDOs are saved.DataColumns—(CHARACTER)Comma-separated list of all columns in contained SDOs; this differs from the SDO format in that it is a single list where each column name is qualified by its SDO’sObjectName.ForeignFields—(CHARACTER)Mapping ofData-Sourcefields toMasterDataObjectfields if there is aData-Sourcefor this SBO.ForeignValues— (CHARACTER) List of the current values ofForeignFields(stored as aCHR(1)-delimited list of field values).UpdateableColumns—(CHARACTER)Comma-separated list of all updateable columns from all contained SDOs; this differs from the SDO format in that each column name is qualified by its SDO’s ObjectName.RowObjectState—(CHARACTER)NoUpdates or RowUpdated. Determines whether Commit-Source buttons are enabled.CommitSource, CommitSourceEvents, NavigationSource, NavigationSourceEvents, DataTargetEvents— To support those links.The SBO has these additional ADM properties not found in the SDO:
MasterDataObject— (HANDLE) Identifies the master SDO or top-level SDO contained in the SBO.ObjectMapping—(CHARACTER)Maps the handles of client objects, including browsers, viewers, and toolbars, to the procedure handles of the SDOs they are associated with. This can include mapping browsers to the SDO whose query they are browsing,Navigation-Sourcesto the SDOs they are navigating, and viewers to the SDOs whose fields they are displaying. The format of this property is a comma-separated list of pairs, with the first entry in each pair being the client object handle and the second entry being the SDO handle. Because an SDO can be associated with more than one other object, there might be duplications in the list. This property is used, for example, to determine which object to pass aqueryPositionevent on to. This property is intended for internal use, though it is possible that application code might, under some special circumstances, want to make use of it.ContainedDataColumns—(CHARACTER)A list of all of theDataColumnsfrom all contained SDOs. Column names are not qualified and are in a set of comma-separated lists, one for each contained SDO, with the lists being further delimited by semicolons. This property is intended for internal use.ContainedDataobjects—(CHARACTER)A comma-separated list of the handles of the SDOs contained in the SBO. This list, and others that list contained objects or their columns, are always kept in matching order (so that, for example, the nth entry inContainedDataobjectsis the handle of thenth entry inDataObjectNames; also, thenth sublist of column names in theContainedDataColumnsproperty is for thenth entry inContainedDataobjects, and thenth list inContainedDataColumns).DataObjectNames—(CHARACTER)TheObjectNamesof its contained SDOs as a comma-separated list.DataObjectOrdering— (CHARACTER) This property, intended for internal use only, maps the order of the contained SDOs as defined by the AppBuilder-generated code to the order assigned either by organizing the objects in top-down Data link order (which happens during initialization if no other order has been assigned) or by using the user-defined update order as defined in the SBO property dialog box.UpdateOrder(CHARACTER) — List of the contained SDOs in the order that an update operation will process them. It is user-settable at the SBO instance level. It can be set programatically or it can be set manually using the Instance Properties dialog box.In addition, there is a
getDataHandlefunction that returns the handle of the SDO query matching a browser that makes the request. There is also agetQueryPositionfunction, which returns the currentQueryPositionsetting for the contained SDO mapped to the requesting object.Also, the following new SmartObject property is defined for all SmartObjects, and is used by SBOs in particular:
ObjectName— (CHARACTER) The logical name of the SmartObject. By default it is the simple filename of the SmartObject procedure, with no leading path and no file type extension. This property can be used to give distinctive and meaningful names to the SDOs contained in an SBO, and is set in the instance property dialog box of the SDO when placed in an SBO. This name becomes the name of the update temp-table (defined within the SDO asRowObjUpd) when referenced in the SBO. Giving a distinctive name to each SDO makes it easier to write business logic in the SBO that refers to all of the contained SDO’s updates.The SBO has as its basic include file the file
src\adm2\sbo.i. This includes the property include filesrc\adm2\sboprop.iand prototype filesrc\adm2\sboprto.i, along with the standard custom include files as well (usingsboas the base include filename).The SBO starts the super procedure
src\adm2\sbo.p. Procedures and functions described below are implemented insbo.punless otherwise noted.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |